package com.yh.csx.event.store.gateway.project.dataobject;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * @author zhangsheng
 * @date 2021/8/25 19:25
 */
@Entity
@Table(name = "team_config")
public class TeamConfigDo {
    private Long id;
    private String teamName;
    private String teamLeader;
    private String teamLeaderTel;
    private String teamLeaderKey;
    private String technologyMan;
    private String technologyManTel;
    private String technologyManKey;
    private String teamMessageToken;
    private Integer delFlag;
    private Integer status;
    private Date createTime;
    private String createBy;
    private Date updateTime;
    private String updateBy;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "team_name", nullable = true, length = 200)
    public String getTeamName() {
        return teamName;
    }

    public void setTeamName(String teamName) {
        this.teamName = teamName;
    }

    @Basic
    @Column(name = "team_leader", nullable = true, length = 100)
    public String getTeamLeader() {
        return teamLeader;
    }

    public void setTeamLeader(String teamLeader) {
        this.teamLeader = teamLeader;
    }

    @Basic
    @Column(name = "team_leader_tel", nullable = true, length = 100)
    public String getTeamLeaderTel() {
        return teamLeaderTel;
    }

    public void setTeamLeaderTel(String teamLeaderTel) {
        this.teamLeaderTel = teamLeaderTel;
    }

    @Basic
    @Column(name = "team_leader_key", nullable = true, length = 100)
    public String getTeamLeaderKey() {
        return teamLeaderKey;
    }

    public void setTeamLeaderKey(String teamLeaderKey) {
        this.teamLeaderKey = teamLeaderKey;
    }

    @Basic
    @Column(name = "technology_man", nullable = true, length = 100)
    public String getTechnologyMan() {
        return technologyMan;
    }

    public void setTechnologyMan(String technologyMan) {
        this.technologyMan = technologyMan;
    }

    @Basic
    @Column(name = "technology_man_tel", nullable = true, length = 100)
    public String getTechnologyManTel() {
        return technologyManTel;
    }

    public void setTechnologyManTel(String technologyManTel) {
        this.technologyManTel = technologyManTel;
    }

    @Basic
    @Column(name = "technology_man_key", nullable = true, length = 100)
    public String getTechnologyManKey() {
        return technologyManKey;
    }

    public void setTechnologyManKey(String technologyManKey) {
        this.technologyManKey = technologyManKey;
    }

    @Basic
    @Column(name = "team_message_token", nullable = true, length = 200)
    public String getTeamMessageToken() {
        return teamMessageToken;
    }

    public void setTeamMessageToken(String teamMessageToken) {
        this.teamMessageToken = teamMessageToken;
    }

    @Basic
    @Column(name = "del_flag", nullable = true)
    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    @Basic
    @Column(name = "status", nullable = true)
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Basic
    @Column(name = "create_time", nullable = true)
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "create_by", nullable = true, length = 30)
    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    @Basic
    @Column(name = "update_time", nullable = false)
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "update_by", nullable = true, length = 30)
    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        TeamConfigDo that = (TeamConfigDo) o;
        return id == that.id &&
                Objects.equals(teamName, that.teamName) &&
                Objects.equals(teamLeader, that.teamLeader) &&
                Objects.equals(teamLeaderTel, that.teamLeaderTel) &&
                Objects.equals(teamLeaderKey, that.teamLeaderKey) &&
                Objects.equals(technologyMan, that.technologyMan) &&
                Objects.equals(technologyManTel, that.technologyManTel) &&
                Objects.equals(technologyManKey, that.technologyManKey) &&
                Objects.equals(teamMessageToken, that.teamMessageToken) &&
                Objects.equals(delFlag, that.delFlag) &&
                Objects.equals(status, that.status) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(createBy, that.createBy) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(updateBy, that.updateBy);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, teamName, teamLeader, teamLeaderTel, teamLeaderKey, technologyMan, technologyManTel, technologyManKey, teamMessageToken, delFlag, status, createTime, createBy, updateTime, updateBy);
    }
}
